imgui.ImGuiWindowFlags_NoTitleBar             = 1 << 0   -- Disable title-bar
imgui.ImGuiWindowFlags_NoResize               = 1 << 1   -- Disable user resizing with the lower-right grip
imgui.ImGuiWindowFlags_NoMove                 = 1 << 2   -- Disable user moving the window
imgui.ImGuiWindowFlags_NoScrollbar            = 1 << 3   -- Disable scrollbars (window can still scroll with mouse or programatically)
imgui.ImGuiWindowFlags_NoScrollWithMouse      = 1 << 4   -- Disable user vertically scrolling with mouse wheel
imgui.ImGuiWindowFlags_NoCollapse             = 1 << 5   -- Disable user collapsing window by double-clicking on it
imgui.ImGuiWindowFlags_AlwaysAutoResize       = 1 << 6   -- Resize every window to its content every frame
imgui.ImGuiWindowFlags_ShowBorders            = 1 << 7   -- Show borders around windows and items
imgui.ImGuiWindowFlags_NoSavedSettings        = 1 << 8   -- Never load/save settings in .ini file
imgui.ImGuiWindowFlags_NoInputs               = 1 << 9   -- Disable catching mouse or keyboard inputs
imgui.ImGuiWindowFlags_MenuBar                = 1 << 10  -- Has a menu-bar
imgui.ImGuiWindowFlags_HorizontalScrollbar    = 1 << 11  -- Allow horizontal scrollbar to appear (off by default). You may use SetNextWindowContentSize(ImVec2(width0.0f)); prior to calling Begin() to specify width. Read code in imgui_demo in the "Horizontal Scrolling" section.
imgui.ImGuiWindowFlags_NoFocusOnAppearing     = 1 << 12  -- Disable taking focus when transitioning from hidden to visible state
imgui.ImGuiWindowFlags_NoBringToFrontOnFocus  = 1 << 13  -- Disable bringing window to front when taking focus (e.g. clicking on it or programatically giving it focus)
imgui.ImGuiWindowFlags_AlwaysVerticalScrollbar = 1 << 14  -- Always show vertical scrollbar (even if ContentSize.y < Size.y)
imgui.ImGuiWindowFlags_AlwaysHorizontalScrollbar = 1<< 15  -- Always show horizontal scrollbar (even if ContentSize.x < Size.x)
imgui.ImGuiWindowFlags_AlwaysUseWindowPadding = 1 << 16  -- Ensure child windows without border uses style.WindowPadding (ignored by default for non-bordered child windows because more convenient)

imgui.ImGuiTreeNodeFlags_Selected             = 1 << 0   -- Draw as selected
imgui.ImGuiTreeNodeFlags_Framed               = 1 << 1   -- Full colored frame (e.g. for CollapsingHeader)
imgui.ImGuiTreeNodeFlags_AllowOverlapMode     = 1 << 2   -- Hit testing to allow subsequent widgets to overlap this one
imgui.ImGuiTreeNodeFlags_NoTreePushOnOpen     = 1 << 3   -- Don't do a TreePush() when open (e.g. for CollapsingHeader) = no extra indent nor pushing on ID stack
imgui.ImGuiTreeNodeFlags_NoAutoOpenOnLog      = 1 << 4   -- Don't automatically and temporarily open node when Logging is active (by default logging will automatically open tree nodes)
imgui.ImGuiTreeNodeFlags_DefaultOpen          = 1 << 5   -- Default node to be open
imgui.ImGuiTreeNodeFlags_OpenOnDoubleClick    = 1 << 6   -- Need double-click to open node
imgui.ImGuiTreeNodeFlags_OpenOnArrow          = 1 << 7   -- Only open when clicking on the arrow part. If ImGuiTreeNodeFlags_OpenOnDoubleClick is also set, single-click arrow or double-click all box to open.
imgui.ImGuiTreeNodeFlags_Leaf                 = 1 << 8   -- No collapsing, no arrow (use as a convenience for leaf nodes).
imgui.ImGuiTreeNodeFlags_Bullet               = 1 << 9   -- Display a bullet instead of arrow
--imgui.ImGuITreeNodeFlags_SpanAllAvailWidth  = 1 << 10  -- FIXME: TODO: Extend hit box horizontally even if not framed
--imgui.ImGuiTreeNodeFlags_NoScrollOnOpen     = 1 << 11  -- FIXME: TODO: Disable automatic scroll on TreePop() if node got just open and contents is not visible
imgui.ImGuiTreeNodeFlags_CollapsingHeader     = imgui.ImGuiTreeNodeFlags_Framed | imgui.ImGuiTreeNodeFlags_NoAutoOpenOnLog

imgui.ImGuiInputTextFlags_CharsDecimal        = 1 << 0
imgui.ImGuiInputTextFlags_CharsHexadecimal    = 1 << 1
imgui.ImGuiInputTextFlags_CharsUppercase      = 1 << 2
imgui.ImGuiInputTextFlags_CharsNoBlank        = 1 << 3
imgui.ImGuiInputTextFlags_AutoSelectAll       = 1 << 4
imgui.ImGuiInputTextFlags_EnterReturnsTrue    = 1 << 5
imgui.ImGuiInputTextFlags_CallbackCompletion  = 1 << 6
imgui.ImGuiInputTextFlags_CallbackHistory     = 1 << 7
imgui.ImGuiInputTextFlags_CallbackAlways      = 1 << 8
imgui.ImGuiInputTextFlags_CallbackCharFilter  = 1 << 9
imgui.ImGuiInputTextFlags_AllowTabInput       = 1 << 10
imgui.ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11
imgui.ImGuiInputTextFlags_NoHorizontalScroll  = 1 << 12
imgui.ImGuiInputTextFlags_AlwaysInsertMode    = 1 << 13
imgui.ImGuiInputTextFlags_ReadOnly            = 1 << 14
imgui.ImGuiInputTextFlags_Password            = 1 << 15
imgui.ImGuiInputTextFlags_Multiline           = 1 << 20
